我们的stark组件用的我们的分页组件,没有重新写
下面直接看下分页的代码
class page_helper(): def __init__(self, count, current_page, per_page_num, base_url,parms): self.count = count self.current_page = current_page self.per_page_num = per_page_num self.base_url = base_url self.page_head = " " import copy parms = copy.deepcopy(parms) parms._mutable = True self.parms = parms def page_count(self): before, after = divmod(self.count, self.per_page_num) if after > 0: class_count = before + 1 else: class_count = before print("-------------",class_count,self.count,self.per_page_num) return class_count def page_start(self): if self.page_count() <= 11: start_int = 1 end_int = self.page_count() else: if self.current_page <= 6: start_int = 1 end_int = 11 elif self.current_page + 5 + 1 > self.page_count(): start_int = self.page_count() - 10 end_int = self.page_count() + 1 else: start_int = self.current_page - 5 end_int = self.current_page + 5 + 1 return start_int def page_end(self): if self.page_count() <= 11: start_int = 1 end_int = self.page_count() else: if self.current_page <= 6: start_int = 1 end_int = 11 elif self.current_page + 5 + 1 > self.page_count(): start_int = self.page_count() - 10 end_int = self.page_count() + 1 else: start_int = self.current_page - 5 end_int = self.current_page + 5 + 1 return end_int def db_start(self): return (self.current_page - 1) * self.per_page_num + 1 def db_end(self): return self.current_page * self.per_page_num + 1 def page_list(self): print(self.parms,dir(self.parms),"======================",self.parms.urlencode()) if self.current_page == 1: before_page = "
分页的代码在什么实用用呢?应该list_url这个函数把过滤和搜索后的数据传递个showlist这个类,然后这个类在根据这些要显示的数据在进行分页
class Showlist(object): def __init__(self,config,request,new_list,new_data_list): self.config = config self.request = request self.new_list = new_list self.new_data_list = new_data_list # 分页显示 count = self.new_data_list.count() current_page = int(request.GET.get("p",1)) per_page_num = 3 base_url = request.path_info parms = request.GET self.page_str = page.page_helper(count=count,current_page=current_page,per_page_num=per_page_num,base_url=base_url,parms=parms)